package com.example.voice.dto;

import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * 文字转语音DTO
 * @author crp
 * @since 2025-09-24
 */
@Data
public class TextToSpeechDTO {

    /**
     * 要转换的文本
     */
    @NotBlank(message = "文本内容不能为空")
    private String text;

    /**
     * 音色类型：female, male, child等
     */
    private String voiceType = "female";

    /**
     * 语音速度（0.5-2.0）
     */
    private BigDecimal speed = BigDecimal.valueOf(1.0);

    /**
     * 语音音调（0.5-2.0）
     */
    private BigDecimal pitch = BigDecimal.valueOf(1.0);

    /**
     * 情绪类型：neutral, happy, sad, angry等
     */
    private String emotion = "neutral";

    /**
     * 输出格式：wav, mp3等
     */
    private String format = "wav";
}
